﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Presentation.Web.Admin
{
    public class PreAdminMappingStartupTask : Infrastructure.Crosscutting.Task.IStartupTask
    {
        public void Execute()
        {
    		Change< Domain.Entity.Activity, Domain.Dto.ActivityDto>();
    		Change< Domain.Entity.ActivityClass, Domain.Dto.ActivityClassDto>();
    		Change< Domain.Entity.ActivityPic, Domain.Dto.ActivityPicDto>();
    		Change< Domain.Entity.Advertise, Domain.Dto.AdvertiseDto>();
    		Change< Domain.Entity.AdvertisePic, Domain.Dto.AdvertisePicDto>();
    		Change< Domain.Entity.ArticleClass, Domain.Dto.ArticleClassDto>();
    		Change< Domain.Entity.ArticleComm, Domain.Dto.ArticleCommDto>();
    		Change< Domain.Entity.ArticleInfo, Domain.Dto.ArticleInfoDto>();
    		Change< Domain.Entity.ArticleInfoClass, Domain.Dto.ArticleInfoClassDto>();
    		Change< Domain.Entity.ArticlePic, Domain.Dto.ArticlePicDto>();
    		Change< Domain.Entity.ArticleSight, Domain.Dto.ArticleSightDto>();
    		Change< Domain.Entity.ArticleTag, Domain.Dto.ArticleTagDto>();
    		Change< Domain.Entity.AutoPush, Domain.Dto.AutoPushDto>();
    		Change< Domain.Entity.AutoPushDetail, Domain.Dto.AutoPushDetailDto>();
    		Change< Domain.Entity.AutoPushTimer, Domain.Dto.AutoPushTimerDto>();
    		Change< Domain.Entity.Discount, Domain.Dto.DiscountDto>();
    		Change< Domain.Entity.DiscountClass, Domain.Dto.DiscountClassDto>();
    		Change< Domain.Entity.DiscountPic, Domain.Dto.DiscountPicDto>();
    		Change< Domain.Entity.EntityBase, Domain.Dto.EntityBaseDto>();
    		Change< Domain.Entity.EntityFunBase, Domain.Dto.EntityFunBaseDto>();
    		Change< Domain.Entity.Goods, Domain.Dto.GoodsDto>();
    		Change< Domain.Entity.GoodsImportLog, Domain.Dto.GoodsImportLogDto>();
    		Change< Domain.Entity.GoodsPic, Domain.Dto.GoodsPicDto>();
    		Change< Domain.Entity.Holiday, Domain.Dto.HolidayDto>();
    		Change< Domain.Entity.HolidayClass, Domain.Dto.HolidayClassDto>();
    		Change< Domain.Entity.HolidayPic, Domain.Dto.HolidayPicDto>();
    		Change< Domain.Entity.LinkClass, Domain.Dto.LinkClassDto>();
    		Change< Domain.Entity.LinkInfo, Domain.Dto.LinkInfoDto>();
    		Change< Domain.Entity.LinkPic, Domain.Dto.LinkPicDto>();
    		Change< Domain.Entity.Log, Domain.Dto.LogDto>();
    		Change< Domain.Entity.MobileClient, Domain.Dto.MobileClientDto>();
    		Change< Domain.Entity.MobileClientStartLog, Domain.Dto.MobileClientStartLogDto>();
    		Change< Domain.Entity.MvcAction, Domain.Dto.MvcActionDto>();
    		Change< Domain.Entity.MvcActionClass, Domain.Dto.MvcActionClassDto>();
    		Change< Domain.Entity.MvcController, Domain.Dto.MvcControllerDto>();
    		Change< Domain.Entity.MvcControllerClass, Domain.Dto.MvcControllerClassDto>();
    		Change< Domain.Entity.MvcRolePermission, Domain.Dto.MvcRolePermissionDto>();
    		Change< Domain.Entity.PicClass, Domain.Dto.PicClassDto>();
    		Change< Domain.Entity.PicComm, Domain.Dto.PicCommDto>();
    		Change< Domain.Entity.PicInfo, Domain.Dto.PicInfoDto>();
    		Change< Domain.Entity.PicInfoClass, Domain.Dto.PicInfoClassDto>();
    		Change< Domain.Entity.PicTag, Domain.Dto.PicTagDto>();
    		Change< Domain.Entity.PicThumb, Domain.Dto.PicThumbDto>();
    		Change< Domain.Entity.PicThumbSize, Domain.Dto.PicThumbSizeDto>();
    		Change< Domain.Entity.PushContents, Domain.Dto.PushContentsDto>();
    		Change< Domain.Entity.PushLog, Domain.Dto.PushLogDto>();
    		Change< Domain.Entity.Role, Domain.Dto.RoleDto>();
    		Change< Domain.Entity.RoleMenu, Domain.Dto.RoleMenuDto>();
    		Change< Domain.Entity.Schedule, Domain.Dto.ScheduleDto>();
    		Change< Domain.Entity.ScheduleImportLog, Domain.Dto.ScheduleImportLogDto>();
    		Change< Domain.Entity.SightPoint, Domain.Dto.SightPointDto>();
    		Change< Domain.Entity.SightPointArea, Domain.Dto.SightPointAreaDto>();
    		Change< Domain.Entity.SightPointClass, Domain.Dto.SightPointClassDto>();
    		Change< Domain.Entity.SightPointComm, Domain.Dto.SightPointCommDto>();
    		Change< Domain.Entity.SightPointCommReply, Domain.Dto.SightPointCommReplyDto>();
    		Change< Domain.Entity.SightPointGoods, Domain.Dto.SightPointGoodsDto>();
    		Change< Domain.Entity.SightPointImportLog, Domain.Dto.SightPointImportLogDto>();
    		Change< Domain.Entity.SightPointPic, Domain.Dto.SightPointPicDto>();
    		Change< Domain.Entity.SightPointUserSigin, Domain.Dto.SightPointUserSiginDto>();
    		Change< Domain.Entity.SightPointVersion, Domain.Dto.SightPointVersionDto>();
    		Change< Domain.Entity.Tour, Domain.Dto.TourDto>();
    		Change< Domain.Entity.TourClass, Domain.Dto.TourClassDto>();
    		Change< Domain.Entity.TourImportLog, Domain.Dto.TourImportLogDto>();
    		Change< Domain.Entity.TourPic, Domain.Dto.TourPicDto>();
    		Change< Domain.Entity.TourSight, Domain.Dto.TourSightDto>();
    		Change< Domain.Entity.User, Domain.Dto.UserDto>();
    		Change< Domain.Entity.UserExtension, Domain.Dto.UserExtensionDto>();
    		Change< Domain.Entity.UserRole, Domain.Dto.UserRoleDto>();
    		Change< Domain.Entity.VideoClass, Domain.Dto.VideoClassDto>();
    		Change< Domain.Entity.VideoComm, Domain.Dto.VideoCommDto>();
    		Change< Domain.Entity.VideoInfo, Domain.Dto.VideoInfoDto>();
    		Change< Domain.Entity.VideoInfoClass, Domain.Dto.VideoInfoClassDto>();
    		Change< Domain.Entity.VideoPic, Domain.Dto.VideoPicDto>();
    		Change< Domain.Entity.VideoTag, Domain.Dto.VideoTagDto>();
        }
    	
    	protected void Change<TSource, TTarget>()
    	{
    	    AutoMapper.Mapper.CreateMap<TSource, TTarget>();
    	    AutoMapper.Mapper.CreateMap<TTarget, TSource>();
    	}
    }
}
